在開始介紹什麼是API前,我們需要先釐清為什麼前端需要跟後端拿資料。而這又牽扯到我們所接到的專案是需要做「靜態頁面」還是「動態頁面」。
所謂的「靜態頁面」,指的就是web頁面上的內容是固定的,它不會隨著某筆資料改變,而去更改自身的內容。這樣會造成若要改變資料,網站的管理者就必須要手動去更新頁面上的資料。
比起靜態頁面,「動態頁面」就是web頁面上的內容會是變動的,會隨著某筆資料的改變,而去更改自身的內容。這會使網站的管理者不需要因為手動的方式,去更新頁面頁面上的資料。
試著想像一下,如果youtube上面的影片,今天的流行影片是這樣。但明天的流行影片還是上述那些。那會不會讓許多瀏覽該網站的使用者覺得乏味呢?
但要如何讓頁面上的資料能隨著資料的改變而做變化呢?這時,我們就必須要依靠API來幫我們達成。
API指的是應用程式介面(Application Programming Interface)。其中,最重要的是介面
這兩個字。我們可以想像成API是一個端口,它能讓不同的設備透過這個端口來進行資料傳輸。
來舉些生活周遭的例子,情境設為「要去餐廳用餐
」,在整個用餐的過程中,我們在關於後端觀念(一)-什麼是client-server架構?中所提到的client-server架構的角度來看待這件事情。
接下來,我們再舉個實際使用API的例子,情境設為「用chrome的瀏覽器,瀏覽google的頁面
」,這邊我們同樣使用client-server架構的角度來說明。
google.com
的URL,並按enter送出。我們除了可以藉由API來提取資料外,也可以透過它來將我們的資料送至server端。比如:Facebook的登入、找飯店trivago或是像amazon的購物網站...等。
對web的後端工程師來說,筆者覺得最重要的就是處理好API
這件事情。在開發一個動態頁面的專案時,我們就必須要開API來讓前端的工程師夥伴來做銜接。如果我們尚未開發好API的話,或API出了什麼問題,都會導致整個專案的進度緩慢,嚴重時甚至會停擺。所以,如何處理好API
對後端工程師來說,是一大課題也是首頁目標。